package com.example.learnservice;

//Service:不需要有可以与用户交互的界面，只要才后台运行就可以，这就使用到Service

import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.IBinder;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity implements View.OnClickListener, ServiceConnection {
   Intent intent;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        intent = new Intent(MainActivity.this,MyService.class);
        findViewById(R.id.btnStartService).setOnClickListener(this);
        findViewById(R.id.btnStopService).setOnClickListener(this);
        findViewById(R.id.btnBindService).setOnClickListener(this);
        findViewById(R.id.btnUnbindService).setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        if(view.getId()==R.id.btnStartService){
            startService(intent);
        }else if(view.getId()==R.id.btnStopService){
            stopService(intent);
        }else if(view.getId()==R.id.btnBindService){
            //参数1：intent对象
            //参数2：服务的连接（用于监听服务的状态）
            //参数3：
            bindService(intent,this, Context.BIND_AUTO_CREATE);
        }else if(view.getId()==R.id.btnUnbindService){
            unbindService(this);
        }
    }

    //服务被绑定成功后执行
    @Override
    public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
        System.out.println("Service　Connected");
    }

    //服务进程结束的时候被执行
    @Override
    public void onServiceDisconnected(ComponentName componentName) {

    }
}
